package timeitj.faces;

import javax.ejb.EJB;
import timeitj.ejb.SessionFacade;
import timeitj.persistence.Person;
import timeitj.util.exceptions.RegistrationFailedException;

/**
 *
 * @author basti
 *
 * Die Registrierungsfunktionalität habe ich in diese Bean ausgelagert. Vorher 
 * war sie in der UserController Bean. Da gab es das Problem, dass 
 * #{UserController.user.login} einen Fehler wirft; User == null. Weil beim 
 * Registriervorgang der Benutzer (im Normalfall) nicht eingeloggt ist und 
 * somit user = sessionFacade.getCurrentUser(); kein User-Objekt zurückgeben
 * kann, weil ja keins in der Session ist.
 * Deshalb wird das User-Objekt im UserController wirklich nur für Funktionen 
 * auf den eingeloggten User benutzt, und das User-Objekt, das für die 
 * Registrierung benötigt wird, ist hier ein anderes.
 */
public class RegisterController {

    @EJB
    private SessionFacade sessionFacade;
    
    private Person user;
    
    public RegisterController() {
        user = new Person();
    }    
    
    public String register() {

        user = sessionFacade.createPerson(user);
        return "mainPage";
    }    

    public Person getUser() {
        return user;
    }

    public void setUser(Person user) {
        this.user = user;
    }
}
